#ifndef __linOutputStream__h__included__
#define __linOutputStream__h__included__

#include "core/io/IOStream.h"

#include <fstream>
#include <string>

namespace neiderra 
{
	namespace core 
	{
		class linOutputStream: public iOutputStream {
			public:
				linOutputStream(Core* core_);
				virtual ~linOutputStream();

				virtual bool open(const char* filename);
				virtual void close();

				virtual int write(const char* buf, int n);
				virtual int write(const char* buf);
				virtual int writeln(const char* buf);
				virtual int writeln(const std::string&);

				virtual const char* sourceName();
				
			private:
				std::ofstream* _output;
				std::string _filename;
		};
	}
}

#endif
